package com.hmdp.config;

// 导入Mybatis-Plus提供的注解，用于指定数据库类型
import com.baomidou.mybatisplus.annotation.DbType;
// 导入Mybatis-Plus提供的拦截器类，用于扩展Mybatis-Plus的功能
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
// 导入Mybatis-Plus提供的分页插件内部拦截器类
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
// 导入Spring框架提供的注解，用于声明一个配置类
import org.springframework.context.annotation.Bean;
// 导入Spring框架提供的注解，用于声明一个配置类
import org.springframework.context.annotation.Configuration;

// 使用@Configuration注解标记当前类为Spring的配置类
@Configuration
public class MybatisConfig {

    // 使用@Bean注解声明一个方法，该方法将返回一个MybatisPlusInterceptor对象，Spring会自动管理这个对象的生命周期
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        // 创建一个MybatisPlusInterceptor对象
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 向拦截器中添加一个分页插件的内部拦截器，并指定数据库类型为MYSQL
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        // 返回配置好的拦截器对象
        return interceptor;
    }
}